home *** CD-ROM | disk | FTP | other *** search
/ Nebula 2 / Nebula Two.iso / SourceCode / Tutorial / Cookbook / 11.drawLine / MyView.m < prev    next >
Text File  |  1995-06-12  |  2KB  |  112 lines

  1.  
  2. /* Generated by Interface Builder */
  3.  
  4. #import "MyView.h"
  5. #import <appkit/Control.h>
  6. #import <dpsclient/wraps.h>
  7.  
  8. @implementation MyView
  9.  
  10. +newFrame:(const NXRect *)tF {
  11.     self = [super newFrame:tF];
  12.     originX = 50.0;
  13.     originY = 100.0;
  14.     scaleX = 1.0;
  15.     scaleY = 1.0;
  16.     backgroundGray = 1.0;
  17.     lineGray = 0.0;
  18.     lineWidth = 10.0;
  19.     rotation = 0.0;
  20.     destinationX = 400.0;
  21.     destinationY = 500.0;
  22.     return self;
  23. }
  24.  
  25. - lineGray:sender
  26. {
  27.    lineGray = [sender floatValue];
  28.    [self display];
  29.    return self;
  30. }
  31.  
  32. - originX:sender
  33. {
  34.    originX = [sender floatValue];
  35.    [self display];
  36.    return self;
  37. }
  38.  
  39. - originY:sender
  40. {
  41.    originY = [sender floatValue];
  42.    [self display];
  43.    return self;
  44. }
  45.  
  46. - scaleX:sender
  47. {
  48.    scaleX = [sender floatValue];
  49.    [self display];
  50.    return self;
  51. }
  52.  
  53. - scaleY:sender
  54. {
  55.    scaleY = [sender floatValue];
  56.    [self display];
  57.     return self;
  58. }
  59.  
  60. - backgroundGray:sender
  61. {
  62.    backgroundGray = [sender floatValue];
  63.    [self display];
  64.    return self;
  65. }
  66.  
  67. - lineWidth:sender
  68. {
  69.    lineWidth = [sender floatValue];
  70.    [self display];
  71.    return self;
  72. }
  73.  
  74. - rotation:sender
  75. {
  76.    rotation = [sender floatValue];
  77.    [self display];
  78.    return self;
  79. }
  80.  
  81. - destinationY:sender
  82. {
  83.    destinationY = [sender floatValue];
  84.    [self display];
  85.    return self;
  86. }
  87.  
  88. - destinationX:sender
  89. {
  90.    destinationX = [sender floatValue];
  91.    [self display];
  92.    return self;
  93. }
  94.  
  95. - drawSelf:(NXRect*)r :(int)c
  96. {
  97.     // printf("bg = %f  sX = %f sY= %f lG = %f lW = %f oX = %f oY = %f dX = %f dY = %f\n", backgroundGray, scaleX, scaleY, lineGray, lineWidth, originX, originY, destinationX, destinationY);
  98.     PSsetgray(backgroundGray);
  99.     NXRectFill(r);
  100.     PSscale(scaleX, scaleY);
  101.     PSrotate(rotation);
  102.     PSsetgray(lineGray);
  103.     PSsetlinewidth(lineWidth);
  104.     PSnewpath();
  105.     PSmoveto(originX, originY);
  106.     PSlineto(destinationX, destinationY);
  107.     PSstroke();
  108.     return self;
  109. }
  110.  
  111. @end
  112.